package com.xunker.appointment.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xunker.appointment.model.schedule.Schedule;
import com.xunker.appointment.vo.hospital.BookingVo;
import com.xunker.appointment.vo.hospital.DoctorVo;
import com.xunker.appointment.vo.hospital.ScheduleVo;
import com.xunker.appointment.vo.order.ScheduleOrderVo;
import org.springframework.data.domain.Page;

import java.text.ParseException;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface ScheduleService extends IService<Schedule> {
    void save(Map<String, Object> objectMap);

    Page<Schedule> getByHospitalCode(String hospitalCode, int page, int limit);

    void remove(String id);

    Set<DoctorVo> getDoctorByHD(String hospitalCode, String departmentCode);

    Map<String,Object> getScheduleByHDN(String hospitalCode, String departmentCode, String doctorName);

    Map<String, Object> getBookingScheduleRule(Integer page, Integer limit, String hoscode, String depcode) throws ParseException;

    List<BookingVo> getDetailSchedule(String hoscode, String depcode, String workDate);

    Schedule getById(String scheduleId);

    ScheduleOrderVo getScheduleOrderVo(Long scheduleId);

    /**
     * 修改排班
     */
    void update(Schedule schedule);
}
